package com.func.domain.strategy.model.valobj;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @version 1.0
 * @className RuleTreeNodeLineVO
 * @description 决策树的边
 * @author: func
 * @date 2025/2/28 20:58
 */

@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
public class RuleTreeNodeLineVO {
    // 树的Id
    private String treeId;
    // 这条边的入节点
    private String ruleNodeFrom;
    // 这条边的出节点
    private String ruleNodeTo;
    // 限定类型, 决定了这条边的入节点什么情况能到达出节点, 也就放行
    // [并不是入节点是ALLOW的时候就放行, 很可能某个规则就是需要入节点是ALLOW的时候才能到下一层]
    private RuleLimitTypeVO ruleLimitType;
    // 限定值, 入节点是ALLOW还是TAKE_OVER
    private RuleLogicCheckTypeVO ruleLimitValue;
}

